/*************** 刘灿  2018年04月22日 04时21分   系统管理 -- 菜单设置    ********************************/

// 对应请求路径地址： cn.com.lsjz.NurseManager.controller.admin.ModuleController
var basePath = "admin/operation/"; 

var parentModules = null;  // 全局变量父集菜单

var options = "";

$(function(){
	$("#parentModule").change(function(){
		var parentModuleId = $(this).val();
		loadModuleByParentId(parentModuleId);
	});
	loadParentModule();
})

/*
 * 获取父级菜单信息列表
 */
function loadParentModule(){
	$.ajax({
		type: 'POST',
		url: basePath + 'loadParentModule',
		dataType: 'json',
		success: function(result){
			if(result.success == true){
				parentModules = result.data;
				options = "";
				for(var i=0;i<parentModules.length;i++){
					var module = parentModules[i];
					options += '<option value="'+module['operationId']+'">'+module['operationName']+'</option>'
				}
				$("#parentModule").empty();
				$("#parentModule").append(options);
				if(parentModules.length > 0)
					loadModuleByParentId(parentModules[0]['operationId']);
			}
		},
		error:function(result) {
			console.log(result.message);
		},
	});		
}

/*
 * 根据父级菜单获取对应的子集菜单
 */
function loadModuleByParentId(parentModuleId){
	$('#childFormVal').val(parentModuleId);
	$('#childFormMsg').val("");
	$.ajax({
		type: 'POST',
		url: basePath + 'parent/'+ parentModuleId,
		dataType: 'json',
		success: function(result){
			$("tbody").empty();
			if(result.success == true){
				var childModules = result.data;
				$('#dataSum').text(childModules.length);
				var trs = "";
				for(var i=0;i<childModules.length;i++){
					var module = childModules[i];
					trs += '<tr class="text-c">'
								+ '<td><input type="checkbox" value="'+module['operationId']+'"></td>'
								+ '<td>'+module['operationId']+'</td>'
								+ '<td>'+module['operationName']+'</td>'
								+ '<td>'+module['operationUrl']+'</td>'
								+ '<td>'+module['createTime']+'</td>'
								+ '<td class="td-status">'+(module.active == 1 ? '<span class="label label-success radius">已启用</span>' : '<span class="label label-success radius">已停用</span>')+'</td>'
								+ '<td class="td-manage">' +
								(module.active == 1 ? '<a style="text-decoration:none" onClick="module_active(this)" href="javascript:;" title="停用"><i class="Hui-iconfont">&#xe631;</i></a>'
										           : '<a style="text-decoration:none" onClick="module_active(this)" href="javascript:;" title="启用"><i class="Hui-iconfont">&#xe615;</i></a>')
										+'<a title="编辑" href="javascript:;" onclick="module_edit('+module['operationId']+')" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6df;</i></a>'
										+'<a title="删除" href="javascript:;" onclick="module_del(this,'+module['operationId']+')" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6e2;</i></a>'
								+'</td>'
							+ '</tr>';
				}
				$("tbody").append(trs);
			}
		},
		error:function(result) {
			console.log(result.message);
		},
	});	
}


/*菜单添加弹窗*/
function module_child_add(){
	layer.open({
		type: 2,
		title: '添加子菜单',
		shadeClose: true,
	    shade: false,
	    maxmin: true, //开启最大化最小化按钮
		content: 'toPage?url=pages/admin/operation/operation-child-info',
		area: ['800px', '400px'], 
		success: function (layero, index) { // 层弹出后的成功回调方法  ----  layero 当前层dom、index 当前层索引
			// 获取弹出层上对应的控件对象
			var dom = layero.find("iframe")[0].contentWindow.document;
			$("#parentOperationId", dom).append(options);
			$('input[name="patShow"][value="1"]',dom).parent().addClass('checked');
			$('input[name="deptShow"][value="1"]',dom).parent().addClass('checked');
		},
		end:function(){
			var id = $('#childFormVal').val();
			if($('#childFormMsg').val() == "保存成功"){
				if($('#childFormVal').val() != $('#parentModule').val()){
					$('#parentModule').val(id);
				}
				loadModuleByParentId(id);
			}
		}
	});
}

function module_parent_add(){
	layer.open({
		type: 2,
		title: '添加父菜单',
		shadeClose: true,
	    shade: false,
	    maxmin: true, //开启最大化最小化按钮
		content: 'toPage?url=pages/admin/operation/operation-parent-info',
		area: ['800px', '200px'], 
		success: function (layero, index) { // 层弹出后的成功回调方法  ----  layero 当前层dom、index 当前层索引
			// 获取弹出层上对应的控件对象
			var dom = layero.find("iframe")[0].contentWindow.document;
			var operationNames = "";
			for(var i=0;i<parentModules.length;i++){
				var module = parentModules[i];
				operationNames += "$" + module["operationName"];
			}
			if(operationNames.length > 0)
				operationNames += "$";
			$("#operationNames", dom).val(operationNames);
		},
		end:function(){
		}
	});
}

/* 编辑弹窗 */
function module_edit(moduleId){
	$.ajax({
		type: 'get',
		url: basePath + moduleId,
		dataType: 'json',
		success: function(result){
			if(result.success == true){
				var module = result.data;
				layer.open({
					type: 2,
					title: '编辑菜单',
					shadeClose: true,
				    shade: false,
				    maxmin: true, //开启最大化最小化按钮
					content: 'toPage?url=pages/admin/operation/operation-child-info',
					area: ['800px', '400px'], 
					success: function (layero, index) { // 层弹出后的成功回调方法  ----  layero 当前层dom、index 当前层索引
						// 获取弹出层上对应的控件对象
						var dom = layero.find("iframe")[0].contentWindow.document;
						$("#parentOperationId", dom).append(options);  
						$("#operationId", dom).val(module.operationId); // 主键 
						$("#parentOperationId", dom).val(module.parentOperationId);
						$("#operationName", dom).val(module.operationName);
						$("#operationUrl", dom).val(module.operationUrl);
						$("#sortIndex", dom).val(module.sortIndex);
						$("#form-module", dom).attr('method','put');
						$('input[name="patShow"][value="'+module.patShow+'"]',dom).parent().addClass('checked');
						$('input[name="deptShow"][value="'+module.deptShow+'"]',dom).parent().addClass('checked');
					},
					end:function(){
						var id = $('#childFormVal').val();
						if($('#childFormMsg').val() == "保存成功"){
							if($('#childFormVal').val() != $('#parentModule').val()){
								$('#parentModule').val(id);
							}
							loadModuleByParentId(id);
						}
					}
				});
			}
		},
		error:function(result) {
			console.log(result.message);
		},
	});	
}

/*删除*/
function module_del(obj,id){
	layer.confirm('确认要删除吗？',function(index){
		$.ajax({
			type: 'DELETE',
			url: basePath + id,
			dataType: 'json',
			success: function(result){
				$(obj).parents("tr").remove();
				layer.msg(result.message,{icon:1,time:2000});
			},
			error:function(data) {
				console.log(data.message);
			},
		});		
	});
}

/*状态处理*/
function module_active(obj){
	var moduleId =$(obj).parents("tr").children('td').eq(1).text(); 
	var status = $(obj).attr('title') == '启用' ? 1 : 0;
	var msg = status == 0 ? '确定要停用此菜单？' : '确定要启用此菜单？';
	layer.confirm(msg, function(){
		$.ajax({
			type: 'post',
			url: basePath + "active",
			dataType: 'json',
			data:{'moduleId':moduleId,'active':status},
			success: function(result){
				$(obj).parent("td").prev('td').html(status==0?'<span class="label label-warning radius">已停用</span>':'<span class="label label-success radius">已启用</span>');
				$(obj).attr('title',status == 0 ? '启用' : '停用');
				$(obj).find('.Hui-iconfont').html(status == 0 ? '&#xe615;' : '&#xe631;');
				layer.msg(result.message,{icon:1,time:2000});
			},
			error:function(data) {
				console.log(data.message);
			},
		});	
	});
}
